#include <stdio.h>
#include <stdlib.h>

// 题目2：编写一个程序，首先使用malloc分配一个整型数组的空间，并填充一些初始值。
// 然后，使用realloc增加数组的大小，并再次填充新分配的部分。最后，打印出整个
// 数组的内容。最后使用 free 释放内存。

int main()
{
    int* array = (int*)malloc(6 * sizeof(int));
    for(int i = 0; i < 6; i++)
    {
        scanf("%d", &array[i]);
    }
    int* tmp = (int*)realloc(array, sizeof(int) * 12);
    if(tmp == NULL) // 扩容失败时，需要防止内存泄漏
    {
        printf("realloc failed\n");
        free(array);
        exit(1);
    }
    array = tmp;
    for(int i = 6; i < 12; i++)
    {
        scanf("%d", &array[i]);
    }
    for(int i = 0; i < 12; i++)
    {
        printf("%d ", array[i]);
    }
    printf("\n");
    free(array);
    return 0;
}